package com.jlmv.poseidon.framework.dao;

import java.util.List;

import javax.persistence.EntityManager;

public interface IDao<T> {

	public abstract EntityManager getEntityManager();

	public abstract T create(T entity);

	public abstract T edit(T entity);

	public abstract T remove(T entity);

	public abstract T find(Class<T> entity, Object id);

	public abstract List<T> findAll(Class<T> entity);

	public abstract List<T> findRange(Class<T> entity, int[] range);

	public abstract int count(Class<T> entity);

}
